
<%@page import="Entidade.Agendamento"%>
<%@page import="Entidade.Sala"%>
<%@page import="Conexao.ConsultaBD"%>
<%@page import="servlets.*, java.util.*, java.sql.*, java.text.ParseException, java.text.SimpleDateFormat" %>
<%@ page contentType="text/html" pageEncoding="UTF-8"    language="java" import="java.sql.*" errorPage="" %>


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link rel="shortcut icon" href="icon.png" >
    <link id="bs-css" href="css/bootstrap-cerulean.css" rel="stylesheet"/>
    <%@include file="cabecalho.html"%>
</head>
<script language="Javascript" src="calendario.js"> </script>
<link rel="stylesheet" type="text/css" href="imprimir.css" media="print" />
<style type="text/css">
    <!--
    form.busca {
        background-color: #FFFFCC;
        width:500px;}

    form.busca2 {
        background-color: #F0FFF0;
        width:500px;}



    -->
</style>

<style>
    .dia {font-family: helvetica, arial; font-size: 8pt; color: #FFFFFF}
    .data {font-family: helvetica, arial; font-size: 8pt; text-decoration:none; color:#191970}
    .mes {font-family: helvetica, arial; font-size: 8pt}
    .Cabecalho_Calendario {font-family: helvetica, arial; font-size: 10pt; color: #000000; text-decoration:none; font-weight:bold}
</style>

<body>
<%@include file="logo.html"%>
<!-- MENU DA PAGINA -->
<div id="menu">
    <ul>
        <li><a href="index.jsp">HOME PAGE</a></li>
        <li  class="active"><a href="agendamentos.jsp">AGENDAMENTOS</a></li>
        <li><a href="cadastros.jsp">CADASTROS</a></li>
        <li><a href="consultas.jsp">CONSULtAS</a></li>
    </ul>
</div>
<hr />
<!-- FIM DO MENU DA PAGINA -->
<div id="page">
<div id="content">
<div>

<H2>Consultar agendamento</H2>
<form name="busca" action="agendamentos.jsp" method="POST" class="busca">
    <br>
    <p> Sala
    <select name="cod_sala" >
      <%

      List<Object> SalasObjt = ConsultaBD.ListaFrom("Sala");

      for (Object o : SalasObjt) {
      %>

        <option value=<%= ((Sala)o).getId()%>>
        <%= ((Sala)o).getNome() %> </option>

        <% }%>
    </select>

    </p>
    Data Inicial:
    <input NAME="data" SIZE="10" MAXLENGTH="10" value="">
    <input TYPE="button" NAME="btnData" method ="get" class="btn btn-primary" VALUE="Buscar Data" Onclick="javascript:popdate('document.busca.data','pop1','150',document.busca.data.value)">
    <!-- <input type="submit" method="get"> -->
    <!-- na span abaixo aparece o primeiro calendario -->
    <span id="pop1" style="position:absolute"></span>

    <input type="hidden" name="buscaagenda" value="1"/>
    <input type="hidden" name="item" value="agendamento"/>
    <input type="submit" class="btn btn-primary" value="Consultar" name="Buscar" />
    <br>   
    <br>
</form>
    <br>
   <div>
    <H2>Cadastrar agendamento</H2>

    <ul>
        <li><a href="cadastroagendamento.jsp?item=agendamento">Agendamento de Salas</a></li>
    </ul>
</div>

<%

        if (request.getParameter("buscaagenda") != null) {
            
            String valor = request.getParameter("cod_sala");
   
            java.sql.Date d1, d2;
            java.util.Date matData[];
            String dt;

            SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");

            //captura data
            dt = request.getParameter("data");
            d1 = new java.sql.Date(format.parse(dt).getTime());

            
            
            List<Object> listabusca = ConsultaBD.ListaFrom("Agendamento where sala =" + valor + " and data_inicio >= '" + d1 + "'");
            


            if (listabusca.size() == 0) {
                out.println("Não existe nenhum agendamento neste periodo");
            } else {

                //cria vetor de datas
                matData = new java.util.Date[7];

                // minha data
                d2 = new java.sql.Date(format.parse(dt).getTime());
                Calendar cal = Calendar.getInstance();
                cal.setTime(d2);

                // incrementa minha data
                cal.add(Calendar.DAY_OF_MONTH, 0);
                // imprime data formatada
                matData[0] = cal.getTime();

                // incrementa minha data
                cal.add(Calendar.DAY_OF_MONTH, 1);
                // imprime data formatada
                matData[1] = cal.getTime();

                // incrementa minha data
                cal.add(Calendar.DAY_OF_MONTH, 1);
                // imprime data formatada
                matData[2] = cal.getTime();

                // incrementa minha data
                cal.add(Calendar.DAY_OF_MONTH, 1);
                // imprime data formatada
                matData[3] = cal.getTime();

                // incrementa minha data
                cal.add(Calendar.DAY_OF_MONTH, 1);
                // imprime data formatada
                matData[4] = cal.getTime();

                // incrementa minha data
                cal.add(Calendar.DAY_OF_MONTH, 1);
                // imprime data formatada
                matData[5] = cal.getTime();

                // incrementa minha data
                cal.add(Calendar.DAY_OF_MONTH, 1);
                // imprime data formatada
                matData[6] = cal.getTime();
                


%>



<%

//monta matriz de dia por hora
        Agendamento mat[][] = new Agendamento[16][7];
//coloca um ag em cada campo da matriz
        for (Object o : listabusca) {
            Agendamento ag = new Agendamento();
            ag.setId(((Agendamento)o).getId());
            ag.setSala(((Agendamento)o).getSala());
            ag.setData_inicio(((Agendamento)o).getData_inicio());
            ag.setData_fim(((Agendamento)o).getData_fim());
            ag.setEvento(((Agendamento)o).getEvento());
            ag.setObservacao(((Agendamento)o).getObservacao());
            ag.setHora_inicio((((Agendamento)o).getHora_inicio()));
            ag.setHora_fim(((Agendamento)o).getHora_fim());
            

//captura horarios inicio e fim
            String ln = String.valueOf(ag.getHora_inicio());
            int l_in = Integer.parseInt(ln) - 7;

            ln = String.valueOf(ag.getHora_fim());
            int l_fim = Integer.parseInt(ln) - 7;

            int l = l_fim - l_in;

//faz um for desde a data inicial até a data final
            Calendar c = Calendar.getInstance();
            c.setTime(ag.getData_inicio());
            cal.setTime(ag.getData_fim());

// incrementa minha data
            for (int d = 0; d < 7; d++) {
                if (c.getTime().equals(matData[0])) {
                    for (int k = l_in; k <= l_fim; k++) {
                        mat[k][0] = ag;
                    }
                } else if (c.getTime().equals(matData[1])) {
                    for (int k = l_in; k <= l_fim; k++) {
                        mat[k][1] = ag;
                    }
                } else if (c.getTime().equals(matData[2])) {
                    for (int k = l_in; k <= l_fim; k++) {
                        mat[k][2] = ag;
                    }
                } else if (c.getTime().equals(matData[3])) {
                    for (int k = l_in; k <= l_fim; k++) {
                        mat[k][3] = ag;
                    }
                } else if (c.getTime().equals(matData[4])) {
                    for (int k = l_in; k <= l_fim; k++) {
                        mat[k][4] = ag;
                    }
                } else if (c.getTime().equals(matData[5])) {
                    for (int k = l_in; k <= l_fim; k++) {
                        mat[k][5] = ag;
                    }
                } else if (c.getTime().equals(matData[6])) {
                    for (int k = l_in; k <= l_fim; k++) {
                        mat[k][6] = ag;
                    }
                } 
                if (!(c.getTime().equals(cal.getTime()))) {
                    c.add(Calendar.DAY_OF_MONTH, 1);
                }
            }

        }
%>
<div id="rel">
<b> Agendamento da Sala</b> <p/>
<%      SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy");
        Calendar c = Calendar.getInstance();
        String datarequest = request.getParameter("data");
        java.sql.Date data = new java.sql.Date(sd.parse(datarequest).getTime());
        c.setTime(data);
        c.add(Calendar.DAY_OF_MONTH, 6);

%>

<b>De:</b> ${param.data} <b>Até:</b> <%= sd.format(c.getTime()) %> <p/>

</div>

<table border="1">
    <tr>
        <td>Horário</td>
        <td>
            <%
        // minha data
        d2 = new java.sql.Date(format.parse(dt).getTime());
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(d2);

        // incrementa minha data mais sete dias
        calendar.add(Calendar.DAY_OF_MONTH, 0);

        // formato minha data para aparecer apenas dia, mes e ano
        SimpleDateFormat dataFormatada = new SimpleDateFormat("dd/MM/yyyy");

        // imprime data formatada
        out.println(dataFormatada.format(calendar.getTime()));
            %>
        </td>
        <td>
            <%
        // incrementa minha data mais sete dias
        calendar.add(Calendar.DAY_OF_MONTH, 1);

        // imprime data formatada
        out.println(dataFormatada.format(calendar.getTime()));
            %>
        </td>
        <td>
            <%
        // incrementa minha data mais sete dias
        calendar.add(Calendar.DAY_OF_MONTH, 1);

        // imprime data formatada
        out.println(dataFormatada.format(calendar.getTime()));
            %>
        </td>
        <td>
            <%
        // incrementa minha data mais sete dias
        calendar.add(Calendar.DAY_OF_MONTH, 1);

        // imprime data formatada
        out.println(dataFormatada.format(calendar.getTime()));
            %>
        </td>
        <td>
            <%
        // incrementa minha data mais sete dias
        calendar.add(Calendar.DAY_OF_MONTH, 1);

        // imprime data formatada
        out.println(dataFormatada.format(calendar.getTime()));
            %>
        </td>
        <td>
            <%
        // incrementa minha data mais sete dias
        calendar.add(Calendar.DAY_OF_MONTH, 1);

        // imprime data formatada
        out.println(dataFormatada.format(calendar.getTime()));
            %>
        </td>
        <td>
            <%
        // incrementa minha data mais sete dias
        calendar.add(Calendar.DAY_OF_MONTH, 1);

        // imprime data formatada
        out.println(dataFormatada.format(calendar.getTime()));
            %>
        </td>
    </tr>
    <%
        String evento;
        //imprime valores nos respectivos campos
        for (int j = 1; j <= 11; j++) {
    %>
    <tr>
        <td>
            <% String hora;
        if (j < 3) {
            hora = '0' + String.valueOf(j + 7);
        } else {
            hora = String.valueOf(j + 7);
        }

        hora = hora + ":00";
        out.println(hora);%>
        </td>


        <%if (mat[j][0] != null) {
            evento = mat[j][0].getEvento();
        %>
        <td bgcolor="FFCC33">
        <a href="consultaagendamento.jsp?item=consultaagendamento&id=<%= mat[j][0].getId() %>"><font color="000000"><%= evento %></a>
        <%
} else {
        %>
        <td>
            <% }%>
        </td>


        <%if (mat[j][1] != null) {
            evento = mat[j][1].getEvento();
        %>
        <td bgcolor="FFCC33">
        <a href="consultaagendamento.jsp?item=consultaagendamento&id=<%= mat[j][1].getId() %>"><font color="000000"><%= evento %></a>
        <%
} else {
        %>
        <td>
            <% }%>
        </td>

        <%if (mat[j][2] != null) {
            evento = mat[j][2].getEvento();
        %>
        <td bgcolor="FFCC33">
        <a href="consultaagendamento.jsp?item=consultaagendamento&id=<%= mat[j][2].getId() %>"><font color="000000"><%= evento %></a>
        <%
} else {
        %>
        <td>
            <% }%>
        </td>

        <%if (mat[j][3] != null) {
            evento = mat[j][3].getEvento();
        %>
        <td bgcolor="FFCC33">
        <a href="consultaagendamento.jsp?item=consultaagendamento&id=<%= mat[j][3].getId() %>"><font color="000000"><%= evento %></a>
        <%
} else {
        %>
        <td>
            <% }%>
        </td>

        <%if (mat[j][4] != null) {
            evento = mat[j][4].getEvento();
        %>
        <td bgcolor="FFCC33">
        <a href="consultaagendamento.jsp?item=consultaagendamento&id=<%= mat[j][4].getId() %>"><font color="000000"><%= evento %></a>
        <%
} else {
        %>
        <td>
            <% }%>
        </td>

        <%if (mat[j][5] != null) {
            evento = mat[j][5].getEvento();
        %>
        <td bgcolor="FFCC33">
        <a href="consultaagendamento.jsp?item=consultaagendamento&id=<%= mat[j][5].getId() %>"><font color="000000"><%= evento %></a>
        <%
} else {
        %>
        <td>
            <% }%>
        </td>

        <%if (mat[j][6] != null) {
            evento = mat[j][6].getEvento();
        %>
        <td bgcolor="FFCC33">
        <a href="consultaagendamento.jsp?item=consultaagendamento&id=<%= mat[j][6].getId() %>"><font color="000000"><%= evento %></a>
        <%
} else {
        %>
        <td>
            <% }%>
        </td>
     
    </tr>
                
    <%
        }
    %>

</table>


<table border="0" cellspacing="20">
    <tbody>
        <tr>
            <td align="left">


                <form name="busca" action="agendamentos.jsp" method="POST">
                    <%
        c.setTime(data);
        c.add(Calendar.DAY_OF_MONTH, -7);
                    %>
                    <input type="hidden" name="buscaagenda" value="1"/>
                    <input type="hidden" name="item" value="agendamento"/>
                    <input type="image" src="semant.png"  name="Semana Anterior" />
                    <input type="hidden" name="data" value=<%= sd.format(c.getTime())%>>
                    <input type="hidden" name="cod_sala" value=<%= request.getParameter("cod_sala")%>>
                </form>



            </td>
            <td align="right">

                <form name="busca" action="agendamentos.jsp" method="POST">
                    <%
        c.setTime(data);
        c.add(Calendar.DAY_OF_MONTH, 7);

                    %>
                    <input type="hidden" name="buscaagenda" value="1"/>
                    <input type="hidden" name="item" value="agendamento"/>
                    <input type="image" src="proxsem.png" name="Próxima Semana" />
                    <input type="hidden" name="data" value=<%= sd.format(c.getTime())%>>
                    <input type="hidden" name="cod_sala" value=<%= request.getParameter("cod_sala")%>>
                </form>



            </td>
        </tr>
    </tbody>
</table>


<% }%> <!-- FIM DO  -->



<% }%> <!-- FIM DO IF -->

</div>

</div>
<!-- AQUI VAI O MENU LATERAL -->
<%@include file="sidebar.jsp"%>

</div>
<hr />
<!-- RODAPÉ DA PAGINA -->
<%@include file="rodape.html"%>
</body>
</html>


